/********************************************************************************/
/*   The  Software  is  proprietary,  confidential,  and  valuable to Realtek   */
/*   Semiconductor  Corporation  ("Realtek").  All  rights, including but not   */
/*   limited  to  copyrights,  patents,  trademarks, trade secrets, mask work   */
/*   rights, and other similar rights and interests, are reserved to Realtek.   */
/*   Without  prior  written  consent  from  Realtek,  copying, reproduction,   */
/*   modification,  distribution,  or  otherwise  is strictly prohibited. The   */
/*   Software  shall  be  kept  strictly  in  confidence,  and  shall  not be   */
/*   disclosed to or otherwise accessed by any third party.                     */
/*   c<2003> - <2012>                                                           */
/*   The Software is provided "AS IS" without any warranty of any kind,         */
/*   express, implied, statutory or otherwise.                                  */
/********************************************************************************/

//----------------------------------------------------------------------------------------------------
// ID Code      : RTD2014OsdFontTable.c
// Update Note  :
//----------------------------------------------------------------------------------------------------

#define __KEC_OSDFONTTABLE__

#include "UserCommonInclude.h"

#if(_OSD_TYPE == _KEC_OSD)

//****************************************************************************
// DEFINITIONS / MACROS
//****************************************************************************

//****************************************************************************
// STRUCT / TYPE / ENUM DEFINITTIONS
//****************************************************************************

//****************************************************************************
// CODE TABLES
//****************************************************************************
BYTE code tOSD_MAIN_LOGO[] =
{
    _2BIT_MAINITEM_LOGO_START+0x00, _2BIT_MAINITEM_LOGO_START+0x01, _2BIT_MAINITEM_LOGO_START+0x02, _2BIT_MAINITEM_LOGO_START+0x03, _2BIT_MAINITEM_LOGO_START+0x04, _2BIT_MAINITEM_LOGO_START+0x05, _NEXT_,
    _2BIT_MAINITEM_LOGO_START+0x06, _2BIT_MAINITEM_LOGO_START+0x07, _2BIT_MAINITEM_LOGO_START+0x08, _2BIT_MAINITEM_LOGO_START+0x09, _2BIT_MAINITEM_LOGO_START+0x0a, _2BIT_MAINITEM_LOGO_START+0x0b, _END_,
};

BYTE code tOSD_iREALTEK[] =
{
    _iREALTEK_00, _iREALTEK_01, _iREALTEK_02, _iREALTEK_03, _iREALTEK_04, _iREALTEK_05, _iREALTEK_06, _iREALTEK_07, _iREALTEK_08, _iREALTEK_09, _iREALTEK_0A, _iREALTEK_0B, _NEXT_,
    _iREALTEK_10, _iREALTEK_11, _iREALTEK_12, _iREALTEK_13, _iREALTEK_14, _iREALTEK_15, _iREALTEK_16, _iREALTEK_17, _iREALTEK_18, _iREALTEK_19, _iREALTEK_1A, _iREALTEK_1B, _END_,
};

BYTE code tOSD_iKEY_BACK[] =
{
    _iKEY_BACK_00, _iKEY_BACK_01, _NEXT_,
    _iKEY_BACK_10, _iKEY_BACK_11, _END_,
};

BYTE code tOSD_iKEY_LEFT[] =
{
    _iKEY_LEFT_00, _iKEY_LEFT_01, _NEXT_,
    _iKEY_LEFT_10, _iKEY_LEFT_11, _END_,
};

BYTE code tOSD_iKEY_RIGHT[] =
{
    _iKEY_RIGHT_00, _iKEY_RIGHT_01, _NEXT_,
    _iKEY_RIGHT_10, _iKEY_RIGHT_11, _END_,
};

BYTE code tOSD_iKEY_ENTER[] =
{
    _iKEY_ENTER_00, _iKEY_ENTER_01, _NEXT_,
    _iKEY_ENTER_10, _iKEY_ENTER_11, _END_,
};

BYTE code tOSD_iKEY_EXIT[] =
{
    _iKEY_EXIT_00, _iKEY_EXIT_01, _NEXT_,
    _iKEY_EXIT_10, _iKEY_EXIT_11, _END_,
};
/*
BYTE code tOSD_Input_VGA[] =
{
    _1DYNAMIC_START, _iKEY_EXIT_01, _NEXT_,
    _iKEY_EXIT_10, _iKEY_EXIT_11, _END_,
};*/

BYTE code tiOSD_REALTEK_1BIT_LOGO0[]=
{
	0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x07,0x08,0x03,0x03,0x09,0x0A,0x00,0x00,0x00,0x00,0x00,0x0B,0x0C,0x0D,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x10,0x03,0x03,0x11,0x12,0x00,0x00,0x13,0x14,0x15,0x16,0x17,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x19,0x1A,0x03,0x03,0x1B,0x1C,0x1D,0x1E,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x21,0x03,0x03,0x22,0x23,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x25,0x26,0x03,0x03,0x27,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0x2A,0x2B,0x2C,0x03,0x03,0x2D,0x2E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2F,0x30,0x31,0x32,0x33,0x34,0x03,0x03,0x35,0x36,0x37,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_END_,

};

BYTE code tiOSD_REALTEK_1BIT_LOGO1[]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x00,0x00,0x00,0x00,0x05,0x06,0x07,0x07,0x08,0x09,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
0x00,0x00,0x00,0x00,0x00,0x0A,0x0B,0x0C,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0F,0x07,0x07,0x10,0x11,0x00,0x00,0x00,0x00,0x00,_NEXT_,
0x00,0x00,0x00,0x00,0x12,0x13,0x14,0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x17,0x07,0x07,0x18,0x19,0x00,0x00,0x00,0x00,_NEXT_,
0x00,0x00,0x1A,0x1B,0x07,0x1C,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1E,0x1F,0x07,0x07,0x20,0x21,0x00,0x00,0x00,_NEXT_,
0x00,0x00,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x25,0x2C,0x2D,0x2B,0x2B,0x2B,0x2E,0x2F,0x30,0x31,0x32,0x33,0x00,0x00,_NEXT_,
0x34,0x00,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x00,0x3D,0x3E,0x00,0x3F,0x00,0x40,0x00,0x00,0x41,0x00,0x42,0x43,0x00,0x44,0x38,_NEXT_,
0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,_NEXT_,
0x5F,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,_END_,

};
BYTE code tKEC_LOGO_COLORTABLE[] =
{
	//Row0
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),

	//Row1
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_RED, _CP_BG),

    //Row2
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),

    //Row3
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),

    //Row4
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),

    //Row5
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),

    //Row6
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),

    //Row7
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),
    COLOR(_CP_RED, _CP_BG),

    //Row8
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_RED, _CP_BG),

    //Row9
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
    COLOR(_CP_BLUE, _CP_BG),
};
BYTE code tiOSD_CLIENT_LOGO[]=
{
#if(_POWER_ON_LOGO_TYPE == _LOGO_XIAN_DA)    

	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x01,0x02,0x02,0x02,0x03,0x04,0x05,0x00,0x06,0x00,0x00,0x07,0x08,0x09,0x0A,0x0A,0x0B,0x0C,0x0D,0x0E,0x0D,0x0F,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x17,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x1A,0x30,0x31,0x32,0x33,0x34,0x35,0x00,0x36,0x37,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43,0x44,0x45,0x3D,0x3D,0x46,0x47,0x48,0x49,0x4A,0x4B,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_END_,
#elif(_POWER_ON_LOGO_TYPE == _LOGO_SAMYI) 
	0x01,0x02,0x03,0x04,0x00,0x00,0x05,0x06,0x00,0x00,0x07,0x08,0x09,0x00,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x12,0x13,0x14,_NEXT_,
	0x15,0x16,0x17,0x18,0x00,0x19,0x1A,0x1B,0x1C,0x00,0x1D,0x1E,0x1F,0x20,0x21,0x22,0x00,0x00,0x23,0x24,0x25,0x00,0x00,0x26,0x27,_NEXT_,
	0x28,0x29,0x2A,0x2B,0x00,0x2C,0x2D,0x2E,0x2F,0x00,0x1D,0x27,0x30,0x31,0x32,0x22,0x00,0x00,0x33,0x34,0x35,0x00,0x00,0x26,0x27,_NEXT_,
	0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x00,0x44,0x45,0x47,0x00,0x48,0x49,0x4A,_END_,
#else
	0x00,
#endif
};

BYTE code tiOSD_GOOD_LCD_1BIT_LOGO[]=
{
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,_NEXT_,
	0x00,0x05,0x06,0x07,0x08,0x09,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0B,0x0C,0x0D,0x00,0x00,0x00,0x00,0x00,0x0E,0x0F,0x10,0x11,0x12,_NEXT_,
	0x13,0x14,0x15,0x16,0x14,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x00,0x1F,0x20,0x21,0x22,0x00,0x23,0x24,0x1C,0x25,0x26,0x00,0x00,0x00,0x00,_NEXT_,
	0x27,0x14,0x28,0x29,0x14,0x2A,0x00,0x2B,0x00,0x2C,0x2D,0x2E,0x2F,0x30,0x31,0x32,0x21,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x00,0x00,0x00,0x00,_NEXT_,
	0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x00,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x00,0x00,0x00,_NEXT_,
	0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x00,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x00,0x00,0x00,0x00,_NEXT_,
	0x69,0x6A,0x6B,0x6B,0x6C,0x6D,0x6E,0x00,0x6F,0x70,0x71,0x72,0x73,0x00,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x00,0x00,0x00,_NEXT_,
	0x7F,0x80,0x81,0x82,0x83,0x84,0x2E,0x00,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x00,0x00,0x00,0x00,_END_,

};
BYTE code tiOSD_KEC_1BIT_LOGO[]=
{
    _KEC_LOGO_PART2_START+0x01,_KEC_LOGO_PART2_START+0x02,_KEC_LOGO_PART2_START+0x03,_KEC_LOGO_PART2_START+0x04,_KEC_LOGO_PART2_START+0x05,_KEC_LOGO_PART2_START+0x06,_KEC_LOGO_PART2_START+0x07,_KEC_LOGO_PART2_START+0x08,_KEC_LOGO_PART2_START+0x09,_KEC_LOGO_PART2_START+0x0A,_KEC_LOGO_PART2_START+0x0B,_KEC_LOGO_PART2_START+0x0C,_KEC_LOGO_PART2_START+0x0D,_KEC_LOGO_PART2_START+0x0D,_KEC_LOGO_PART2_START+0x0E,_KEC_LOGO_PART2_START+0x0F,_KEC_LOGO_PART2_START+0x10,_KEC_LOGO_PART2_START+0x11,_KEC_LOGO_PART2_START+0x12,_KEC_LOGO_PART2_START+0x13,_KEC_LOGO_PART2_START+0x14,_KEC_LOGO_PART2_START+0x15,_KEC_LOGO_PART2_START+0x16,_KEC_LOGO_PART2_START+0x17,_KEC_LOGO_PART2_START+0x18,_KEC_LOGO_PART2_START+0x19,_KEC_LOGO_PART2_START+0x1A,_KEC_LOGO_PART2_START+0x1B,_KEC_LOGO_PART2_START+0x1C,_KEC_LOGO_PART2_START+0x1D,_KEC_LOGO_PART2_START+0x1E,_KEC_LOGO_PART2_START+0x1F,_KEC_LOGO_PART2_START+0x20,_KEC_LOGO_PART2_START+0x21,_KEC_LOGO_PART2_START+0x22,_NEXT_,
    _KEC_LOGO_PART2_START+0x23,_KEC_LOGO_PART2_START+0x24,_KEC_LOGO_PART2_START+0x25,_KEC_LOGO_PART2_START+0x26,_KEC_LOGO_PART2_START+0x27,_KEC_LOGO_PART2_START+0x28,_KEC_LOGO_PART2_START+0x29,_KEC_LOGO_PART2_START+0x2A,_KEC_LOGO_PART2_START+0x2B,_KEC_LOGO_PART2_START+0x2C,_KEC_LOGO_PART2_START+0x2D,_KEC_LOGO_PART2_START+0x2E,_KEC_LOGO_PART2_START+0x2F,_KEC_LOGO_PART2_START+0x30,_KEC_LOGO_PART2_START+0x31,_KEC_LOGO_PART2_START+0x32,_KEC_LOGO_PART2_START+0x33,_KEC_LOGO_PART2_START+0x34,_KEC_LOGO_PART2_START+0x35,_KEC_LOGO_PART2_START+0x36,_KEC_LOGO_PART2_START+0x37,_KEC_LOGO_PART2_START+0x15,_KEC_LOGO_PART2_START+0x38,_KEC_LOGO_PART2_START+0x39,_KEC_LOGO_PART2_START+0x3A,_KEC_LOGO_PART2_START+0x3B,_KEC_LOGO_PART2_START+0x3C,_KEC_LOGO_PART2_START+0x3D,_KEC_LOGO_PART2_START+0x3E,_KEC_LOGO_PART2_START+0x3F,_KEC_LOGO_PART2_START+0x40,_KEC_LOGO_PART2_START+0x41,_KEC_LOGO_PART2_START+0x42,_KEC_LOGO_PART2_START+0x43,_KEC_LOGO_PART2_START+0x44,_NEXT_,
    _KEC_LOGO_PART2_START+0x45,_KEC_LOGO_PART2_START+0x46,_KEC_LOGO_PART2_START+0x47,_KEC_LOGO_PART2_START+0x48,_KEC_LOGO_PART2_START+0x49,_KEC_LOGO_PART2_START+0x4A,_KEC_LOGO_PART2_START+0x4B,_KEC_LOGO_PART2_START+0x4C,_KEC_LOGO_PART2_START+0x4D,_KEC_LOGO_PART2_START+0x4E,_KEC_LOGO_PART2_START+0x4F,_KEC_LOGO_PART2_START+0x50,_KEC_LOGO_PART2_START+0x51,_KEC_LOGO_PART2_START+0x52,_KEC_LOGO_PART2_START+0x53,_KEC_LOGO_PART2_START+0x00,_KEC_LOGO_PART2_START+0x00,_KEC_LOGO_PART2_START+0x54,_KEC_LOGO_PART2_START+0x55,_KEC_LOGO_PART2_START+0x56,_KEC_LOGO_PART2_START+0x00,_KEC_LOGO_PART2_START+0x57,_KEC_LOGO_PART2_START+0x58,_KEC_LOGO_PART2_START+0x59,_KEC_LOGO_PART2_START+0x00,_KEC_LOGO_PART2_START+0x5A,_KEC_LOGO_PART2_START+0x5B,_KEC_LOGO_PART2_START+0x5C,_KEC_LOGO_PART2_START+0x5D,_KEC_LOGO_PART2_START+0x5E,_KEC_LOGO_PART2_START+0x5F,_KEC_LOGO_PART2_START+0x60,_KEC_LOGO_PART2_START+0x61,_KEC_LOGO_PART2_START+0x62,_KEC_LOGO_PART2_START+0x63,_NEXT_,
    _KEC_LOGO_PART2_START+0x64,_KEC_LOGO_PART2_START+0x65,_KEC_LOGO_PART2_START+0x66,_KEC_LOGO_PART2_START+0x67,_KEC_LOGO_PART2_START+0x68,_KEC_LOGO_PART2_START+0x69,_KEC_LOGO_PART2_START+0x6A,_KEC_LOGO_PART2_START+0x6B,_KEC_LOGO_PART2_START+0x6C,_KEC_LOGO_PART2_START+0x6D,_KEC_LOGO_PART2_START+0x6E,_KEC_LOGO_PART2_START+0x6F,_KEC_LOGO_PART2_START+0x70,_KEC_LOGO_PART2_START+0x71,_KEC_LOGO_PART2_START+0x72,_KEC_LOGO_PART2_START+0x73,_KEC_LOGO_PART2_START+0x74,_KEC_LOGO_PART2_START+0x75,_KEC_LOGO_PART2_START+0x76,_KEC_LOGO_PART2_START+0x00,_KEC_LOGO_PART2_START+0x77,_KEC_LOGO_PART2_START+0x78,_KEC_LOGO_PART2_START+0x79,_KEC_LOGO_PART2_START+0x7A,_KEC_LOGO_PART2_START+0x7B,_KEC_LOGO_PART2_START+0x7C,_KEC_LOGO_PART2_START+0x7D,_KEC_LOGO_PART2_START+0x7E,_KEC_LOGO_PART2_START+0x7F,_KEC_LOGO_PART2_START+0x80,_KEC_LOGO_PART2_START+0x81,_KEC_LOGO_PART2_START+0x82,_KEC_LOGO_PART2_START+0x83,_KEC_LOGO_PART2_START+0x00,_KEC_LOGO_PART2_START+0x84,_NEXT_,
    _KEC_LOGO_PART2_START+0x85,_KEC_LOGO_PART2_START+0x86,_KEC_LOGO_PART2_START+0x87,_KEC_LOGO_PART2_START+0x00,_KEC_LOGO_PART2_START+0x88,_KEC_LOGO_PART2_START+0x89,_KEC_LOGO_PART2_START+0x8A,_KEC_LOGO_PART2_START+0x8B,_KEC_LOGO_PART2_START+0x8C,_KEC_LOGO_PART2_START+0x8D,_KEC_LOGO_PART2_START+0x8E,_KEC_LOGO_PART2_START+0x8F,_KEC_LOGO_PART2_START+0x90,_KEC_LOGO_PART2_START+0x91,_KEC_LOGO_PART2_START+0x92,_KEC_LOGO_PART2_START+0x93,_KEC_LOGO_PART2_START+0x94,_KEC_LOGO_PART2_START+0x95,_KEC_LOGO_PART2_START+0x96,_KEC_LOGO_PART2_START+0x00,_KEC_LOGO_PART2_START+0x97,_KEC_LOGO_PART2_START+0x98,_KEC_LOGO_PART2_START+0x99,_KEC_LOGO_PART2_START+0x9A,_KEC_LOGO_PART2_START+0x9B,_KEC_LOGO_PART2_START+0x9C,_KEC_LOGO_PART2_START+0x9D,_KEC_LOGO_PART2_START+0x9E,_KEC_LOGO_PART2_START+0x9F,_KEC_LOGO_PART2_START+0x9D,_KEC_LOGO_PART2_START+0xA0,_KEC_LOGO_PART2_START+0xA1,_KEC_LOGO_PART2_START+0xA2,_KEC_LOGO_PART2_START+0xA3,_KEC_LOGO_PART2_START+0xA4,_END_,
};
BYTE code tiOSD_KEC_1BIT_LOGO_ICON[]=
{
	0x01,0x02,0x02,0x02,0x02,0x03,0x04,0x05,0x06,0x02,0x02,0x02,0x02,0x07,0x08,_NEXT_,
	0x09,0x0A,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x0A,0x10,0x11,0x12,0x13,0x14,0x00,_NEXT_,
	0x09,0x0A,0x15,0x16,0x17,0x18,0x0A,0x0A,0x19,0x1A,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x1B,0x1C,0x1D,0x1E,0x1F,0x0A,0x20,0x21,0x22,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x23,0x24,0x25,0x0A,0x0A,0x26,0x27,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x28,0x29,0x2A,0x0A,0x0A,0x2B,0x2C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x2D,0x2E,0x2F,0x30,0x31,0x0A,0x32,0x33,0x34,0x00,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x09,0x0A,0x35,0x36,0x37,0x38,0x39,0x0A,0x3A,0x3B,0x00,0x00,0x00,0x00,0x00,_NEXT_,
	0x09,0x0A,0x0A,0x3C,0x3D,0x3E,0x3F,0x40,0x0A,0x41,0x42,0x43,0x44,0x45,0x00,_NEXT_,
	0x46,0x47,0x47,0x47,0x47,0x48,0x49,0x4A,0x4B,0x47,0x47,0x47,0x47,0x4C,0x4D,_END_,

};

//****************************************************************************
// VARIABLE DECLARATIONS
//****************************************************************************

//****************************************************************************
// FUNCTION DECLARATIONS
//****************************************************************************
void OsdFontPut1Bit(BYTE ucRow, BYTE ucCol, BYTE ucIcon, BYTE ucColor);
void OsdFontPut1BitTable(BYTE ucRow, BYTE ucCol, BYTE *pucArray, BYTE ucColor);
void OsdFontPut1BitMainMenuIcon(BYTE ucRow, BYTE ucCol, BYTE ucIconWidth, BYTE ucIconHeight, BYTE ucIcon, BYTE ucForeground, BYTE ucBackground);
void OsdFontPut2Bit(BYTE ucRow, BYTE ucCol, BYTE ucIcon, BYTE ucColor0, BYTE ucColor1, BYTE ucColor2, BYTE ucColor3);
void OsdFontPut2BitTable(BYTE ucRow, BYTE ucCol, BYTE *pucArray, BYTE ucColor0, BYTE ucColor1, BYTE ucColor2, BYTE ucColor3);

//***************************************************************************
// FUNCTION DEFINITIONS
//****************************************************************************
//--------------------------------------------------
// Description  :
// Input Value  : None
// Output Value : None
//--------------------------------------------------
void OsdFontPut1Bit(BYTE ucRow, BYTE ucCol, BYTE ucIcon, BYTE ucColor)
{
    WORD xdata usOsdAddr = (WORD)ucRow * g_ucOsdWidth + ucCol;
    BYTE xdata ucByte0 = 0x4C;

#if(_OSD_ROTATE_FUNCTION == _OSD_ROTATE_SOFTWARE)
    if(GET_OSD_ROTATE_STATUS() == _OSD_ROTATE_DEGREE_90)
    {
        usOsdAddr = (WORD)((g_ucOsdWidth - ucRow - 1) + g_ucOsdWidth * ucCol);
        ucByte0 = 0x4E;
    }
    else if(GET_OSD_ROTATE_STATUS() == _OSD_ROTATE_DEGREE_270)
    {
        usOsdAddr = (WORD)(g_ucOsdHeight - 1 - ucCol) * g_ucOsdWidth + ucRow;
        ucByte0 = 0x4E;
    }
#endif

    ScalerOsdCommandAllByte(usOsdAddr + g_usFontSelectStart, ucByte0, ucIcon, ucColor);
}

//--------------------------------------------------
// Description  :
// Input Value  : None
// Output Value : None
//--------------------------------------------------
void OsdFontPut1BitTable(BYTE ucRow, BYTE ucCol, BYTE *pucArray, BYTE ucColor)
{
    BYTE ucOsdWidth = 0;
    BYTE ucCount = 0;
    BYTE ucHTemp = ucCol;

#if(_OSD_ROTATE_FUNCTION == _OSD_ROTATE_SOFTWARE)
    if((GET_OSD_ROTATE_STATUS() == _OSD_ROTATE_DEGREE_90) ||
       (GET_OSD_ROTATE_STATUS() == _OSD_ROTATE_DEGREE_270))
    {
        ucOsdWidth = g_ucOsdHeight;
    }
    else
#endif
    {
        ucOsdWidth = g_ucOsdWidth;
    }

    while(*pucArray != _END_)
    {
        if(*pucArray == _NEXT_)
        {
            ucRow++;
            ucHTemp =ucCol;
            pucArray++;
        }
        else if(*pucArray == _SPACE_)
        {
            ucHTemp++;
            pucArray++;
        }
        else if(*pucArray == _REPEAT_)
        {
            ucCount = *(pucArray + 1) - 1;

            while(ucCount > 0)
            {
                if(*(pucArray - 1) != _SPACE_)
                {
                    OsdFontPut1Bit(ucRow, ucHTemp, *(pucArray - 1), ucColor);
                }

                ucHTemp++;

                if((ucHTemp == ucOsdWidth) && (*(pucArray + 1) != _NEXT_))
                {
                    ucRow++;
                    ucHTemp =ucCol;
                }
                ucCount--;
            }
            pucArray += 2;
        }
        else
        {
            OsdFontPut1Bit(ucRow, ucHTemp, *pucArray, ucColor);
            ucHTemp++;

            if((ucHTemp == ucOsdWidth) && (*(pucArray + 1) != _NEXT_))
            {
                ucRow++;
                ucHTemp =ucCol;
            }
            pucArray++;
        }
    }
}

//--------------------------------------------------
// Description  :
// Input Value  : None
// Output Value : None
//--------------------------------------------------
void OsdFontPut1BitMainMenuIcon(BYTE ucRow, BYTE ucCol, BYTE ucIconWidth, BYTE ucIconHeight, BYTE ucIcon, BYTE ucForeground, BYTE ucBackground)
{
    WORD usOsdAddr = (WORD)ucRow * g_ucOsdWidth + ucCol;
    BYTE ucByte0 = 0x4C;
    BYTE ucByte2 = 0;
    BYTE ucLength = 6;
    BYTE ucHeight = 4;

#if(_OSD_ROTATE_FUNCTION == _OSD_ROTATE_SOFTWARE)
    if(GET_OSD_ROTATE_STATUS() == _OSD_ROTATE_DEGREE_90)
    {
        usOsdAddr = (WORD)((g_ucOsdWidth - ucRow - 1) + g_ucOsdWidth * ucCol);
        ucByte0 = 0x4E;
    }
    else if(GET_OSD_ROTATE_STATUS() == _OSD_ROTATE_DEGREE_270)
    {
        usOsdAddr = (WORD)(g_ucOsdHeight - 1 - ucCol) * g_ucOsdWidth + ucRow;
        ucByte0 = 0x4E;
    }
#endif

    ucForeground &= 0x0F;

    ucByte2 = ((ucForeground << 4) | ucBackground);

#if(_OSD_ROTATE_FUNCTION == _OSD_ROTATE_SOFTWARE)
    if(GET_OSD_ROTATE_STATUS() == _OSD_ROTATE_DEGREE_90)
    {
        for(ucHeight = 0; ucHeight < 4; ucHeight++)
        {
            for(ucLength=0; ucLength < 6; ucLength++)
            {
                usOsdAddr = (WORD)(g_ucOsdWidth - ucRow - ucHeight - 1) + g_ucOsdWidth * (ucCol + ucLength);
                ScalerOsdCommandAllByte(usOsdAddr + g_usFontSelectStart, ucByte0, ucIcon, ucByte2);
                ucIcon++;
            }
        }
    }
    else if(GET_OSD_ROTATE_STATUS() == _OSD_ROTATE_DEGREE_270)
    {
        for(ucHeight = 0; ucHeight < 4; ucHeight++)
        {
            for(ucLength=0; ucLength < 6; ucLength++)
            {
                usOsdAddr = (WORD)(g_ucOsdHeight - 1 - (ucCol + ucLength)) * g_ucOsdWidth + (ucRow + ucHeight);
                ScalerOsdCommandAllByte(usOsdAddr + g_usFontSelectStart, ucByte0, ucIcon, ucByte2);
                ucIcon++;
            }
        }
    }
    else
#endif
    {
        for(ucHeight = 0; ucHeight < ucIconHeight; ucHeight++)
        {
            for(ucLength=0; ucLength < ucIconWidth; ucLength++)
            {
                ScalerOsdCommandAllByte(usOsdAddr + g_usFontSelectStart + ucLength, ucByte0, ucIcon, ucByte2);
                ucIcon++;
            }
            usOsdAddr += g_ucOsdWidth;
        }
    }
}

//--------------------------------------------------
// Description  :
// Input Value  : None
// Output Value : None
//--------------------------------------------------
void OsdFontPut2Bit(BYTE ucRow, BYTE ucCol, BYTE ucIcon, BYTE ucColor0, BYTE ucColor1, BYTE ucColor2, BYTE ucColor3)
{
    WORD xdata usOsdAddr = (WORD)ucRow * g_ucOsdWidth + ucCol;
    BYTE xdata ucByte0 = 0;
    BYTE xdata ucByte2 = 0;

#if(_OSD_ROTATE_FUNCTION == _OSD_ROTATE_SOFTWARE)
    if(GET_OSD_ROTATE_STATUS() == _OSD_ROTATE_DEGREE_90)
    {
        usOsdAddr = (WORD)((g_ucOsdWidth - ucRow - 1) + g_ucOsdWidth * ucCol);
    }
    else if(GET_OSD_ROTATE_STATUS() == _OSD_ROTATE_DEGREE_270)
    {
        usOsdAddr = (WORD)(g_ucOsdHeight - 1 - ucCol) * g_ucOsdWidth + ucRow;
    }
#endif

    ucColor0 &= 0x0F;
    ucByte0 = (_BIT7) | ((ucColor0 & _BIT3) << 2) | ((ucColor1 & _BIT3) << 1) | ((ucColor3 & 0x07) << 1) | ((ucColor0 & _BIT2) >> 2);
    ucByte2 = ((ucColor0 & 0x03) << 6) | ((ucColor2 & 0x07) << 3) | (ucColor1 & 0x07);

    ScalerOsdCommandAllByte(usOsdAddr + g_usFontSelectStart, ucByte0, ucIcon, ucByte2);
}

//--------------------------------------------------
// Description  :
// Input Value  : None
// Output Value : None
//--------------------------------------------------
void OsdFontPut2BitTable(BYTE ucRow, BYTE ucCol, BYTE *pucArray, BYTE ucColor0, BYTE ucColor1, BYTE ucColor2, BYTE ucColor3)
{
    BYTE ucOsdWidth = 0;
    BYTE ucCount = 0;
    BYTE ucHTemp = ucCol;

#if(_OSD_ROTATE_FUNCTION == _OSD_ROTATE_SOFTWARE)
    if((GET_OSD_ROTATE_STATUS() == _OSD_ROTATE_DEGREE_90) ||
       (GET_OSD_ROTATE_STATUS() == _OSD_ROTATE_DEGREE_270))
    {
        ucOsdWidth = g_ucOsdHeight;
    }
    else
#endif
    {
        ucOsdWidth = g_ucOsdWidth;
    }

    while(*pucArray != _END_)
    {
        if(*pucArray == _NEXT_)
        {
            ucRow++;
            ucHTemp =ucCol;
            pucArray++;
        }
        else if(*pucArray == _SPACE_)
        {
            ucHTemp++;
            pucArray++;
        }
        else if(*pucArray == _REPEAT_)
        {
            ucCount = *(pucArray + 1) - 1;

            while(ucCount > 0)
            {
                if(*(pucArray - 1) != _SPACE_)
                {
                    OsdFontPut2Bit(ucRow, ucHTemp, *(pucArray - 1), ucColor0, ucColor1, ucColor2, ucColor3);
                }

                ucHTemp++;

                if((ucHTemp == ucOsdWidth) && (*(pucArray + 1) != _NEXT_))
                {
                    ucRow++;
                    ucHTemp =ucCol;
                }
                ucCount--;
            }
            pucArray += 2;
        }
        else
        {
            OsdFontPut2Bit(ucRow, ucHTemp, *pucArray, ucColor0, ucColor1, ucColor2, ucColor3);
            ucHTemp++;

            if((ucHTemp == ucOsdWidth) && (*(pucArray + 1) != _NEXT_))
            {
                ucRow++;
                ucHTemp = ucCol;
            }
            pucArray++;
        }
    }
}

//void OsdFontPut4Bit()
//{
//}

//void OsdFontPut4BitTable()
//{
//}

#endif//#if(_OSD_TYPE == _KEC_OSD)

